package br.ufrn.sigtcc.controller.services;

import java.util.Date;
import java.util.List;

import br.ufrn.sigtcc.controller.services.interfaces.ITCCService;
import br.ufrn.sigtcc.data.DAOTCCImpl;
import br.ufrn.sigtcc.data.interfaces.IDAOTcc;
import br.ufrn.sigtcc.model.entidades.Aluno;
import br.ufrn.sigtcc.model.entidades.Professor;
import br.ufrn.sigtcc.model.entidades.TCC;
import br.ufrn.sigtcc.util.exceptions.BDException;


public class TCCServiceImpl implements ITCCService{
	
	IDAOTcc daoTCC =  new DAOTCCImpl();
	
	public TCCServiceImpl(IDAOTcc dao) {
		this.daoTCC = dao;
	}
	
	public TCCServiceImpl() {
			}

	@Override
	public List<TCC> listarTccs() throws BDException {
		// TODO Auto-generated method stub
		return this.daoTCC.listarTccs();
	}

	@Override
	public void cadastrarTcc(TCC tcc) throws BDException,
			IllegalArgumentException {
		// TODO Auto-generated method stub
		this.daoTCC.cadastrarTcc(tcc);
	}

	@Override
	public void atualizarTcc(TCC tcc) throws BDException,
			IllegalArgumentException {
		// TODO Auto-generated method stub
		this.daoTCC.atualizarTcc(tcc);
	}

	@Override
	public void removerTcc(TCC tcc) throws BDException,
			IllegalArgumentException {
		// TODO Auto-generated method stub
		this.daoTCC.removerTcc(tcc);
	}

	@Override
	public List<TCC> listarTcc(String titulo, Date dataCadastro,
			Date dataDefesa, Professor orientador,
			Aluno orientando, String situacao) throws BDException {
		// TODO Auto-generated method stub
		return this.daoTCC.listarTcc(titulo, dataCadastro, dataDefesa, orientador, orientando, situacao);
	}
	
}
